Skip to content

[TT-16977] fix: prevent dep-guard from skipping downstream jobs on push#8076

Merged
buger merged 2 commits intorelease-5.12from
fix/dep-guard-skip-release-5.12
Apr 17, 2026
Merged

[TT-16977] fix: prevent dep-guard from skipping downstream jobs on push#8076
buger merged 2 commits intorelease-5.12from
fix/dep-guard-skip-release-5.12

Conversation

@buger
Copy link
Copy Markdown
Member

@buger buger commented Apr 17, 2026

Summary

Remove goreleaser's dependency on dep-guard to prevent GitHub Actions' transitive skip propagation from skipping all test jobs on push/tag events.

dep-guard still gates PR merges via the aggregator job.

Root cause

dep-guard has if: github.event_name == 'pull_request' → skipped on push → goreleaser depends on it → all downstream jobs transitively skipped.

Test plan

  • Push to release branch triggers all test jobs (not skipped)
  • PR still runs dep-guard and gates merge via aggregator

🤖 Generated with Claude Code

dep-guard only runs on PRs, causing GitHub Actions to transitively
skip all downstream jobs (api-tests, release-tests, upgrade-deb, etc.)
on push/tag events. Fix by making goreleaser independent of dep-guard
and moving the dep-guard gate to the PR aggregator instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@buger buger requested a review from a team as a code owner April 17, 2026 08:12
@probelabs
Copy link
Copy Markdown
Contributor

probelabs Bot commented Apr 17, 2026

This PR addresses a critical issue in the .github/workflows/release.yml CI pipeline where downstream jobs, including tests and builds, were being skipped on push events.

The root cause was the goreleaser job's dependency on dep-guard. Since dep-guard is configured to run only on pull_request events, it was skipped on push, causing GitHub Actions to transitively skip goreleaser and all subsequent jobs.

This fix decouples goreleaser from dep-guard, ensuring the main workflow runs on push events. To maintain dependency validation for pull requests, dep-guard is now a direct dependency of the final aggregator job. Additionally, the conditional logic for several jobs has been updated to explicitly check for the successful completion of their dependencies (needs.<job>.result == 'success') and use !cancelled() for more robust execution flow.

Files Changed Analysis

  • .github/workflows/release.yml: The sole file modified. Changes involve altering job dependencies and strengthening the conditional if statements for multiple jobs to ensure they run only when their dependencies have succeeded.

Architecture & Impact Assessment

  • What this PR accomplishes: It restores the integrity of the CI pipeline by ensuring that all test, build, and release jobs execute as expected on push events to release branches, preventing untested code from being promoted.
  • Key technical changes introduced:
    1. The dependency of goreleaser on dep-guard is removed.
    2. The aggregator job now directly depends on dep-guard, ensuring dependency checks are still mandatory for merging pull requests.
    3. Conditional execution (if clauses) for multiple jobs are now more explicit, checking needs.<job>.result == 'success'.
  • Affected system components: The CI/CD workflow defined in release.yml. This change directly impacts the reliability of the automated testing and release process.

Job Dependency Change (on pull_request)

The core logic change for pull request validation is visualized below.

Before:

graph TD
    A[dep-guard] --> B[goreleaser]
    B --> C[aggregator]
    D[api-tests] --> C
Loading

After:

graph TD
    A[dep-guard] --> C[aggregator]
    B[goreleaser] --> C
    D[api-tests] --> C
Loading

Scope Discovery & Context Expansion

  • The scope of this change is localized to the release.yml workflow configuration file.
  • However, its impact is significant for the repository's development lifecycle. By fixing the CI pipeline, it ensures that all code pushed to release branches undergoes the full suite of automated checks, which is fundamental for maintaining code quality and release stability.
Metadata
  • Review Effort: 1 / 5
  • Primary Label: bug

Powered by Visor from Probelabs

Last updated: 2026-04-17T08:55:49.393Z | Triggered by: pr_updated | Commit: c6c1536

💡 TIP: You can chat with Visor using /visor ask <your question>

@probelabs
Copy link
Copy Markdown
Contributor

probelabs Bot commented Apr 17, 2026

\n\n

✅ Architecture Check Passed

No architecture issues found – changes LGTM.

✅ Performance Check Passed

No performance issues found – changes LGTM.

✅ Quality Check Passed

No quality issues found – changes LGTM.


Powered by Visor from Probelabs

Last updated: 2026-04-17T08:55:41.618Z | Triggered by: pr_updated | Commit: c6c1536

💡 TIP: You can chat with Visor using /visor ask <your question>

@github-actions
Copy link
Copy Markdown
Contributor

API Changes

no api changes detected

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Corrected approach: keep goreleaser depending on dep-guard (preserves
PR gating) but add !cancelled() + result checks to all downstream jobs
to prevent transitive skip propagation on push/tag events.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

🚨 Jira Linter Failed

Commit: c6c1536
Failed at: 2026-04-17 08:54:43 UTC

The Jira linter failed to validate your PR. Please check the error details below:

🔍 Click to view error details
failed to validate branch and PR title rules: branch name 'fix/dep-guard-skip-release-5.12' must contain a valid Jira ticket ID (e.g., ABC-123)

Next Steps

  • Ensure your branch name contains a valid Jira ticket ID (e.g., ABC-123)
  • Verify your PR title matches the branch's Jira ticket ID
  • Check that the Jira ticket exists and is accessible

This comment will be automatically deleted once the linter passes.

@buger buger merged commit d99a734 into release-5.12 Apr 17, 2026
19 of 20 checks passed
@buger buger deleted the fix/dep-guard-skip-release-5.12 branch April 17, 2026 09:01
@probelabs probelabs Bot changed the title fix: prevent dep-guard from skipping downstream jobs on push [TT-16977] fix: prevent dep-guard from skipping downstream jobs on push Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant